﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Acme.BookStore.Credit
{
    /// <summary>
    /// 合同管理接口
    /// </summary>
    public interface ICreditInfo :
        ICrudAppService< //Defines CRUD methods
            CreditInfoDto, //Used to show books
            Guid, //Primary key of the book entity
            PagedAndSortedResultRequestDto, //Used for paging/sorting
            CreditInfos> //Used to create/update a book
    {
        /// <summary>
        /// 货主合同管理
        /// </summary>
        /// <returns></returns>
        //合同管理显示
        List<CreditInfoDto> GetShow(string Aaa, string Bbb, string Ccc, string Ddd);
        //合同管理添加
        Task<int> GetAdd(CreditInfos m);
        //合同管理删除
        Task<int> GetDel(Guid Id);
        //合同管理反填
        Task<CreditInfoDto> GetFt(Guid Id);
        //合同管理修改
        Task<int> GetUpd(CreditInfoDto m);
        //合同管理修改状态(提交审批)
        Task<int> GetYupdState(Guid id);
        //合同管理修改状态(重新审批)
        Task<int> GetEupdState(Guid id);
        //合同审批通过
        Task<int> GetTg(Guid id);
        //合同审批拒绝
        Task<int> GetJj(Guid id);

        /// <summary>
        /// 承运合同管理
        /// </summary>
        /// <returns></returns>
        //合同管理显示
        List<CreditInfoDto> GetPShow(string Aaa, string Bbb, string Ccc, string Ddd);
        //合同管理添加
        Task<int> GetPAdd(CreditInfos m);
        //合同管理删除
        Task<int> GetPDel(Guid Id);
        //合同管理反填
        Task<CreditInfoDto> GetPFt(Guid Id);
        //合同管理修改
        Task<int> GetPUpd(CreditInfoDto m);
        //合同管理修改状态(提交审批)
        Task<int> GetPYupdState(Guid id);
        //合同管理修改状态(重新审批)
        Task<int> GetPEupdState(Guid id);
        //合同审批通过
        Task<int> GetPTg(Guid id);
        //合同审批拒绝
        Task<int> GetPJj(Guid id);

        /// <summary>
        /// 承运合同管理跟踪
        /// </summary>
        /// <returns></returns>
        //承运跟踪显示
        List<CreditInfoDto> Show(string Aaa, string Bbb, string Ccc, string Ddd);
        //承运跟踪回单
        Task<int> GetHd(Guid id);
        //承运跟踪发货
        Task<int> GetFh(Guid id);
        //承运跟踪签收
        Task<int> GetQs(Guid id);
        //承运跟踪删除
        Task<int> GetGzDel(Guid id);
    }
}
